#include <bits/stdc++.h>

#define ll long long
#define ull unsigned long long
#define uint unsigned int

#define YES cout << "YES" << '\n'
#define NO cout << "NO" << '\n'
#define endl '\n'
const int INF = 1e9;
const int MOD = 998244353;
using namespace std;

/*思考

*/
void solve() {
    int n, m;     // n次需求 共m分钟
    int idx = 0;  // 当前位置
    int now = 0;  // 当前时间
    int cnt = 0;
    cin >> n >> m;
    int a, b;  // a分钟时需要在b位置
    while (n--) {
        cin >> a >> b;
        int diff = a - now;       // 时间  可移动次数
        if (diff % 2) {           // 可移动次数为奇数
            if (idx == b) {       // 当前位置就是要求的位置
                cnt += diff - 1;  // 停一次再跑
            } else {
                cnt += diff;  // 一直跑
            }
        } else {                  // 可移动次数为偶数
            if (idx != b) {       // 当前位置不是要求的位置
                cnt += diff - 1;  // 停一次再跑
            } else {
                cnt += diff;  // 一直跑
            }
        }
        idx=b;
        now=a;
    }
    if(a!=m){
        cnt+=m-a;
    }
    cout << cnt << endl;
}

int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    int t = 0;
    cin >> t;
    while (t--) {
        solve();
    }
    return 0;
}